﻿using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace OneOfAll.Common.Models
{
    public class BaseObjectModel : BaseModel
    {
        private ObjectTypeEnum type = ObjectTypeEnum.人物;
        public ObjectTypeEnum Type
        {
            get { return type; }
            set { type = value; RaisePropertyChanged(); }
        }

        private string screenName = string.Empty;
        public string ScreenName
        {
            get { return screenName; }
            set { screenName = value; RaisePropertyChanged(); }
        }

        



        private double x = 0.0;
        public double X
        {
            get { return x; }
            set { x = value; RaisePropertyChanged(); }
        }

        private double y = 0.0;
        public double Y
        {
            get { return y; }
            set { y = value; RaisePropertyChanged(); }
        }

        private int width = 10;
        public int Width
        {
            get { return width; }
            set { width = value; RaisePropertyChanged(); }
        }

        private int height = 10;
        public int Height
        {
            get { return height; }
            set { height = value; RaisePropertyChanged(); }
        }

        private int speed = 50;
        public int Speed
        {
            get { return speed; }
            set { speed = value; RaisePropertyChanged(); }
        }

        private string name = string.Empty;
        public string Name
        {
            get { return name; }
            set { name = value; RaisePropertyChanged(); }
        }

        private int viewRange = 300;
        public int ViewRange
        {
            get { return viewRange; }
            set { viewRange = value; RaisePropertyChanged(); }
        }

        private int attachRange = 100;
        public int AttachRange
        {
            get { return attachRange; }
            set { viewRange = value; RaisePropertyChanged(); }
        }

        private ObjectStatusEnum status = ObjectStatusEnum.空闲;
        public ObjectStatusEnum Status
        {
            get { return status; }
            set { status = value; RaisePropertyChanged(); }
        }

        private bool isSelected = false;
        public bool IsSelected
        {
            get { return isSelected; }
            set { isSelected = value; RaisePropertyChanged(); }
        }

        private bool isDispose = false;
        public bool IsDispose
        {
            get { return isDispose; }
            set { isDispose = value; RaisePropertyChanged(); }
        }


    }

}
